//////////////////////////////////////////////
// TargetDescriptor.h
//
//////////////////////////////////////////////

/// Defines / Macros -------------------------

#pragma once

/// Forward decl -----------------------------

namespace nkGraphics
{
	class Texture ;
}

/// Includes ---------------------------------

// nkGraphics
#include "../Dll/DllDefines.h"

/// Class ------------------------------------

namespace nkGraphics
{
	class DLL_GRAPHICS_EXPORT TargetDescriptor final
	{
		public :

			// Functions
			// Constructor, destructor
			TargetDescriptor () noexcept ;
			TargetDescriptor (Texture* target) noexcept ;
			TargetDescriptor (Texture* target, unsigned int indexInTextureArray) noexcept ;
			TargetDescriptor (Texture* target, unsigned int indexInTextureArray, unsigned int mipIndex) noexcept ;

		public :

			// Attributes
			// Target and which part of it to use
			Texture* _target ;
			unsigned int _indexInTextureArray ;
			unsigned int _mipIndex ;
	} ;
}